The present invention relates to a method and apparatus for effectively maintaining service level agreements of virtual machines in a computer system such those in a converged platform.
In recent years, the use of server virtualization technology has been increasing in data centers in order to reduce operating expenses. Typical server virtualization environment in data centers are built on storage area networks (SANs), each of which includes physical servers connected to storage arrays by Fibre Channel networks. Virtual machines (VMs) run on the physical servers in the environment. VMs are usually managed by administrators who are called VM administrators.
Administrators called storage administrators and SAN administrators manage physical resources such as physical servers and storage components. Although topology of the physical resources has become complex due to an increase in the use of storage virtualization technologies, their complexities are hidden from VM administrators for simplicity.
VM administrators can set attributes about service level agreements (SLAs) to VMs, including SLAs pertaining to availability, disk I/O performance and usage rates of CPUs. VM administrators need to keep VMs running on the physical resources which meet SLAs of the VMs.
The migration technology of VMs allows VM administrators to satisfy SLAs of VMs by moving VMs to other physical resources. For example, if a VM is running on a server connected to an array group which includes SSD drives with two Fibre Channel paths and one of the paths is lost, VM administrators can move the VM to another physical server which is connected to SSD drives to satisfy SLAs on the availability and disk I/O performance of the VM.
However, VM administrators may have difficulty satisfying the SLA because they are not involved in managing the physical resources that define VMs. VM administrators do not know which physical resources have been used to define the VMs nor do they know the health of these physical resources. Storage and SAN administrators manage and monitor the topology of the physical resources. Therefore, it is difficult for VM administrators to detect failures of the physical resources that are used to define the VMs. Even if detected, VM administrators may have difficult time locating alternative resources that satisfy the SLA of a VM when the SLA is broken.
One attempt to satisfy SLAs of VMs is to migrate automatically the VMs if a failure or performance degradation of physical resources is detected. However, this approach does not suggest how the SLAs can be kept when appropriate destinations for VMs could not found, e.g., a VM running on a volume that is getting faulty cannot be moved to another volume if other previously identified volumes do not have enough free capacity to accommodate that VM, thereby making it difficult to satisfy the SLA. It would be desirable to provide VM administrators with means of more effectively keeping the SLAs of VMs.